package net.wds.ssbus.modules.ssbus.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import net.wds.ssbus.modules.dict.entity.TbBaseDictitemEntity;
import net.wds.ssbus.modules.ssbus.pojo.TbSsbusTaskEntrty;
import java.util.List;

/**
 * TbSsbusTaskService
 * @author zhoulang
 * @Create Date 2020年11月5日
 * @Description 任务管理
 */
public interface TbSsbusTaskService {

    /**
     * 获取任务列表
     * @param page 分页数量
     * @param limit 分页大小
     * @param key 根据名称查询
     * @return
     */
    IPage<TbSsbusTaskEntrty> list(int page, int limit, String key);

    /**
     * 获取字典管理里的状态
     * @return
     */
    List<TbBaseDictitemEntity> status();

    /**
     * 添加任务
     * @param tbSsbusTaskEntrty 任务实体
     */
    void addQuartz(TbSsbusTaskEntrty tbSsbusTaskEntrty);

    /**
     * 修改任务
     * @param tbSsbusTaskEntrty 任务实体
     * @return
     */
    boolean update(TbSsbusTaskEntrty tbSsbusTaskEntrty);

    /**
     * 是否开启失败日志
     * @param id 任务id
     * @param commonlog 状态值
     */
    void upCommonlog(String id, Integer commonlog);

    /**
     * 是否开启常规日志
     * @param id 任务id
     * @param faillog 状态值
     */
    void upFaillog(String id, Integer faillog);

    /**
     * 根据id获取任务信息
     * @param id 任务id
     * @return
     */
    TbSsbusTaskEntrty getById(String id);

    /**
     * 开启任务
     * @param id 任务id
     * @return
     */
    String startTask(String id);

    /**
     * 关闭任务
     * @param id 任务id
     * @return
     */
    String stopTask(String id);

    /**
     * 删除任务
     * @param id 任务id
     */
    void delete(String id);

    /**
     * 批量删除任务
     * @param id 任务id
     */
    void deletes(String[] id);
}
